(display "\n========================================\n")
(for-each (lambda (x) (newline) (display x))
    (list 1 2 3 4))

(define (for-each proc items)
    (define (iter items)
        (if (null? items)
            ()
            (begin
                (proc (car items))
                (iter (cdr items)))))
    (iter  items))

(define (for-each proc items)
    (if (null? items)
        ()
        (begin
            (proc (car items))
            (for-each proc (cdr items)))))

(define (for-each proc items)
    (cond ((null? items) ())
          (else
            (proc (car items))
            (for-each proc (cdr items)))))
(display "\n========================================\n")
(for-each (lambda (x) (newline) (display x))
    (list 1 2 3 4))